package basic.sort;

/**
 * @创建人 MBY381
 * @创建时间 2022/3/28 19:41
 * @描述 在不开辟额外空间的情况下交换数组元素的两种方式
 */
public class SwapWithoutTemp {
    /**
     * 交换数组元素
     *
     * @param arr
     * @param a
     * @param b
     */
    public static void swap(int[] arr, int a, int b) {
        arr[a] = arr[a] + arr[b];
        arr[b] = arr[a] - arr[b];
        arr[a] = arr[a] - arr[b];

        arr[a] = arr[a] ^ arr[b];
        arr[b] = arr[a] ^ arr[b];
        arr[a] = arr[a] ^ arr[b];
    }
}
